// exports.AL_Framework_SDK_Adapter = void 0;
// var $baseAdapter = require("./AL_Framework_Base_Adapter");
// // var $huaweiAdapter = require("./HuaweiAdapter");
// // var $nativeAdapter = require("./NativeAdapter");
// // var $oppoAdapter = require("./OppoAdapter");
// // var $ttAdapter = require("./TtAdapter");
// // var $vivoAdapter = require("./VivoAdapter");
// // var $webAdapter = require("./WebAdapter");
// var $wechatAdapter = require("./AL_Framework_Wechat_Adapter");
// var u = (function () {
//     function e() {
//         this.init(ailin_sdk_manager.getSysPlatformName());
//     }
//     e.Instance = function () {
//         return this._instance || (this._instance = new e());
//     };
//     e.prototype.init = function (e) {
//         var t = null;
//         switch (e) {
//             case "wx":
//                 t = new $wechatAdapter.AL_Framework_Wechat_Adapter();
//                 break;
//             // case "oppo":
//             //     t = new $oppoAdapter.OppoAdapter();
//             //     break;
//             // case "vivo":
//             //     t = new $vivoAdapter.VivoAdapter();
//             //     break;
//             // case "native":
//             //     t = new $nativeAdapter.NativeAdapter();
//             //     break;
//             // case "huawei":
//             //     t = new $huaweiAdapter.HuaweiAdapter();
//             //     break;
//             // case "tt":
//             //     t = new $ttAdapter.TtAdapter();
//             //     break;
//             // case "web":
//             //     t = new $webAdapter.WebAdapter();
//             //     break;
//             default:
//                 t = new $baseAdapter.AL_Framework_Base_Adapter();
//         }
//         if (t) {
//             this.adapter = t;
//         }
//     };
//     e.prototype.huoquDangqianShipeiqi = function () {
//         return this.adapter;
//     };
//     e.prototype.huoqu_jichu_lujing = function () {
//         return this.adapter ? this.adapter.huoqu_jichu_lujing() : null;
//     };
//     e.prototype.jiancha_wenjian_shifou_cunzai = function (e) {
//         return !!this.adapter && this.adapter.jiancha_wenjian_shifou_cunzai(e);
//     };
//     e.prototype.isFile = function (e) {
//         return !!this.adapter && this.adapter.isFile(e);
//     };
//     e.prototype.writeFile = function (e) {
//         if (this.adapter) {
//             this.adapter.writeFile(e);
//         }
//     };
//     e.prototype.deleteFile = function (e) {
//         if (this.adapter) {
//             this.adapter.deleteFile(e);
//         }
//     };
//     e.prototype.readFile = function (e) {
//         if (this.adapter) {
//             this.adapter.readFile(e);
//         }
//     };
//     e.prototype.huoqu_baocun_xiangce_shifou_keyong = function () {
//         return !!this.adapter && this.adapter.huoqu_baocun_xiangce_shifou_keyong();
//     };
//     e.prototype.baocundao_xiang_ce = function (e) {
//         if (this.adapter) {
//             this.adapter.baocundao_xiang_ce(e);
//         }
//     };
//     e.prototype.huoqu_fenxiang_shifou_qiyong = function () {
//         return !!this.adapter && this.adapter.huoqu_fenxiang_shifou_qiyong();
//     };
//     e.prototype.share = function (e) {
//         if (this.adapter) {
//             this.adapter.share(e);
//         }
//     };
//     e.prototype.tianjia_youxi_quan_anniu = function (e) {
//         return this.adapter ? this.adapter.tianjia_youxi_quan_anniu(e) : null;
//     };
//     e.prototype.tianjia_fankui_anniu = function (e) {
//         return this.adapter ? this.adapter.tianjia_fankui_anniu(e) : null;
//     };
//     e.prototype.tianjia_kuaijie_anniu = function (e) {
//         if (this.adapter) {
//             this.adapter.tianjia_kuaijie_anniu(e);
//         }
//     };
//     e.prototype.chuanjian_douyin_anniu = function (e) {
//         if (this.adapter) {
//             this.adapter.tianjia_kuaijie_anniu(e);
//         }
//     };
//     e._instance = null;
//     return e;
// })();
// exports.AL_Framework_SDK_Adapter = u;


// SDKAdapter类用于管理不同平台的适配器
exports.AL_Framework_SDK_Adapter = void 0;

// 引入各种平台适配器模块
var $baseAdapter = require("./AL_Framework_Base_Adapter");
// var $huaweiAdapter = require("./HuaweiAdapter");
// var $nativeAdapter = require("./NativeAdapter");
// var $oppoAdapter = require("./OppoAdapter");
// var $ttAdapter = require("./TtAdapter");
// var $vivoAdapter = require("./VivoAdapter");
// var $webAdapter = require("./WebAdapter");
var $wechatAdapter = require("./AL_Framework_Wechat_Adapter");

// SDK适配器类
class AL_Framework_SDK_Adapter {
    constructor() {
        this.adapter = null; // 当前适配器
        this.init(ailin_sdk_manager.getSysPlatformName()); // 初始化当前平台的适配器
    }

    // 获取SDKAdapter的单例实例
    static Instance() {
        if (!AL_Framework_SDK_Adapter._instance) {
            AL_Framework_SDK_Adapter._instance = new AL_Framework_SDK_Adapter();
        }
        return AL_Framework_SDK_Adapter._instance;
    }

    /**
     * 初始化适配器
     * @param {string} platform 平台名称
     */
    init(platform) {
        let adapterInstance = null;
        switch (platform) {
            case "wx":
                adapterInstance = new $wechatAdapter.AL_Framework_Wechat_Adapter();
                break;
            // case "oppo":
            //     adapterInstance = new $oppoAdapter.OppoAdapter();
            //     break;
            // case "vivo":
            //     adapterInstance = new $vivoAdapter.VivoAdapter();
            //     break;
            // case "native":
            //     adapterInstance = new $nativeAdapter.NativeAdapter();
            //     break;
            // case "huawei":
            //     adapterInstance = new $huaweiAdapter.HuaweiAdapter();
            //     break;
            // case "tt":
            //     adapterInstance = new $ttAdapter.TtAdapter();
            //     break;
            // case "web":
            //     adapterInstance = new $webAdapter.WebAdapter();
            //     break;
            default:
                adapterInstance = new $baseAdapter.AL_Framework_Base_Adapter();
        }
        if (adapterInstance) {
            this.adapter = adapterInstance;
        }
    }

    /**
     * 获取当前适配器
     * @returns {Object|null} 当前适配器实例
     */
    huoquDangqianShipeiqi() {
        return this.adapter;
    }

    /**
     * 获取基础路径
     * @returns {string|null} 基础路径
     */
    huoqu_jichu_lujing() {
        return this.adapter ? this.adapter.huoqu_jichu_lujing() : null;
    }

    /**
     * 检查文件是否存在
     * @param {string} filePath 文件路径
     * @returns {boolean} 文件是否存在
     */
    jiancha_wenjian_shifou_cunzai(filePath) {
        return !!this.adapter && this.adapter.jiancha_wenjian_shifou_cunzai(filePath);
    }

    /**
     * 判断是否为文件
     * @param {string} filePath 文件路径
     * @returns {boolean} 是否为文件
     */
    isFile(filePath) {
        return !!this.adapter && this.adapter.isFile(filePath);
    }

    /**
     * 写入文件
     * @param {string} filePath 文件路径
     */
    writeFile(filePath) {
        if (this.adapter) {
            this.adapter.writeFile(filePath);
        }
    }

    /**
     * 删除文件
     * @param {string} filePath 文件路径
     */
    deleteFile(filePath) {
        if (this.adapter) {
            this.adapter.deleteFile(filePath);
        }
    }

    /**
     * 读取文件
     * @param {string} filePath 文件路径
     */
    readFile(filePath) {
        if (this.adapter) {
            this.adapter.readFile(filePath);
        }
    }

    /**
     * 获取保存到相册功能是否启用
     * @returns {boolean} 是否启用
     */
    huoqu_baocun_xiangce_shifou_keyong() {
        return !!this.adapter && this.adapter.huoqu_baocun_xiangce_shifou_keyong();
    }

    /**
     * 保存到相册
     * @param {string} filePath 文件路径
     */
    baocundao_xiang_ce(filePath) {
        if (this.adapter) {
            this.adapter.baocundao_xiang_ce(filePath);
        }
    }

    /**
     * 获取分享功能是否启用
     * @returns {boolean} 是否启用
     */
    huoqu_fenxiang_shifou_qiyong() {
        return !!this.adapter && this.adapter.huoqu_fenxiang_shifou_qiyong();
    }

    /**
     * 分享功能
     * @param {Object} shareData 分享数据
     */
    share(shareData) {
        if (this.adapter) {
            this.adapter.share(shareData);
        }
    }

    /**
     * 添加游戏俱乐部按钮
     * @param {Object} buttonData 按钮数据
     * @returns {Object|null} 按钮实例
     */
    tianjia_youxi_quan_anniu(buttonData) {
        return this.adapter ? this.adapter.tianjia_youxi_quan_anniu(buttonData) : null;
    }

    /**
     * 添加反馈按钮
     * @param {Object} buttonData 按钮数据
     * @returns {Object|null} 按钮实例
     */
    tianjia_fankui_anniu(buttonData) {
        return this.adapter ? this.adapter.tianjia_fankui_anniu(buttonData) : null;
    }

    /**
     * 添加快捷方式按钮
     * @param {Object} buttonData 按钮数据
     */
    tianjia_kuaijie_anniu(buttonData) {
        if (this.adapter) {
            this.adapter.tianjia_kuaijie_anniu(buttonData);
        }
    }

    /**
     * 创建Aweme按钮
     * @param {Object} buttonData 按钮数据
     */
    chuanjian_douyin_anniu(buttonData) {
        if (this.adapter) {
            this.adapter.tianjia_kuaijie_anniu(buttonData);
        }
    }
}

AL_Framework_SDK_Adapter._instance = null;
exports.AL_Framework_SDK_Adapter = AL_Framework_SDK_Adapter;
